<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      let arr = [
        {
          id: '604e21feb205b95968e13129',
          pid: '0',
          name: '总裁办',
        },
        {
          id: '604e223fb205b95968e1312b',
          pid: '0',
          name: '人事部',
        },
        {
          id: '604e2251b205b95968e1312c',
          pid: '0',
          name: '财务部',
        },
        {
          id: '604e2262b205b95968e1312d',
          pid: '604e2251b205b95968e1312c',
          name: '财务核算部',
        },
        {
          id: '604e227db205b95968e1312e',
          pid: '604e2251b205b95968e1312c',
          name: '税务管理部',
        },
        {
          id: '604e2297b205b95968e1312f',
          pid: '604e2251b205b95968e1312c',
          name: '薪资管理部',
        },
        {
          id: '6051ad90e93db6522c1d00d2',
          pid: '0',
          name: '技术部',
        },
        {
          id: '6051adb6e93db6522c1d00d3',
          pid: '6051ad90e93db6522c1d00d2',
          name: 'Java研发部',
        },
        {
          id: '6051add6e93db6522c1d00d4',
          pid: '6051ad90e93db6522c1d00d2',
          name: 'Python研发部',
        },
        {
          id: '6051adefe93db6522c1d00d5',
          pid: '6051ad90e93db6522c1d00d2',
          name: 'Php研发部',
        },
      ]


      function  department(arr) {
        let newArr = []
        let sum
        let newSum
        for(let i =0 ; i<arr.length ; i++){
          if(arr[i].pid === '0'){
            newArr.push(arr[i])
          }
          if(arr[i].name === '财务部'){
            sum = arr[i].id
          }else if(arr[i].name === '技术部'){
            newSum = arr[i].id
          }
        }
        let newArr1 = []
        let newArr2 = []

        for(let i = 0 ; i <arr.length ; i++){
          if(arr[i].pid === sum){
            newArr1.push(arr[i])
          }else if(arr[i].pid === newSum){
            newArr2.push(arr[i])
          }
          if(arr[i].name === '财务部'){
           arr[i].children = newArr1
          }else if(arr[i].name === '技术部'){
            arr[i].children = newArr2
          }else if(arr[i].pid === '0'){
            arr[i].children = []
          }
        }
      return newArr 
            }
  console.log( department(arr));
    </script>
  </body>
</html>
